package com.dragon.logical.service.avttendance;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dragon.repository.entity.Schedule;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 日程表 服务类
 * </p>
 *
 * @author sy
 * @since 2023-07-10
 */
public interface IScheduleService extends IService<Schedule> {

    /**
     * 获取某个人某个月的日常
     * @param adminId
     * @param time
     * @return
     */
    Map<String, List<Schedule>> getList(Integer adminId, String time );

    /**
     * 当前时间往后的日程
     * @param page
     * @param limit
     * @param adminId
     * @return
     */
    Page<Schedule> scheduleNotExpired(Integer page, Integer limit, Integer adminId);

    /**
     * 条件查询日程
     * @param page
     * @param limit
     * @param time
     * @param search
     * @param request
     * @return
     */
    Page<Schedule> listBySearch(Integer page, Integer limit, String time , String search, HttpServletRequest request);

    /**
     * 添加
     * @param schedule
     */
    void addSchedule(Schedule schedule);

    /**
     * 修改
     * @param schedule
     */
    void updateSchedule(Schedule schedule);

    /**
     * 删除
     * @param id
     */
    void deleteSchedule(Integer id);

    /**
     * 详情
     * @param id
     * @return
     */
    Schedule detailOne(Integer id);

    /**
     * 获取某个人某天的日程
     * @param adminId
     * @param time
     * @return
     */
    List<Schedule> getListForDay(Integer adminId,String time);
}
